Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Дослідження методів та алгоритмів навчання з підкріпленням (Reinforcement Learning) в стаціонарному випадковому середовищі

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2015
Тип роботи:
Звіт
Предмет:
Інтелектуальні системи

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ЗВІТ ЛАБОРАТОРНОЇ РОБОТИ №4 З ПРЕДМЕТУ: «Теорія інтелектуальних систем» ТЕМА: Дослідження методів та алгоритмів навчання з підкріпленням (Reinforcement Learning) в стаціонарному випадковому середовищі. МЕТА: Дослідити роботу методів та алгоритмів навчання з підкріпленням, набути навички їх реалізації. Хід роботи 1. Реалізувати обраний згідно варіанту метод навчання з підкріпленням у вигляді програми. Приклади алгоритмів, що реалізують методи навчання з підкріпленням: Розрахунок оціночної ваги дії Згідно методу зваженої оцінки дій (action-value method) для кожної дії a визначається її оціночна вага Qt(a) = st(a) / kt(a), де t – номер біжучого часового кроку, kt(a) – кількість реалізацій дії a (скількі разів дія a була обрана та реалізована агентом на момент часу t), st(a) – сумарний виграш, отриманий завдяки усім реалізаціям дії a. e-жадібний метод навчання з підкріпленням (e-greedy RL)   2.0. Першу дію обрати рівновипадково. 2.1. Реалізувати обрану дію a. 2.2. Отримати відгук середовища (виграш/програш). 2.3. Перерахувати значення оціночної ваги Qt(a) дії a. 2.4. З ймовірністю (1-e) обрати наступну дію a', для якої Qt(a') = max Qt(a), перейти до п.2.1. 2.5. З ймовірністю e обрати наступну дію a' рівновипадково, перейти до п.2.1. Номер варіанту: e-greedy -> e-жадібний метод навчання з підкріпленням N Метод навчання з підкріпленням Кількість доступних агенту дій  5 e-greedy 3   2. Фрагмент тексту програми обчислювального експерименту: #include <stdio.h> #include <stdlib.h> #include <time.h> #include <tchar.h> #include <math.h> #define ENVTYPE 0 #define NACTIONS 3 #define NSTATES 2 #define NSTEPS 200 #define NREPLICAS 1000 #define REWARD 1//+1 #define PENALTY 0//-1 #define RLTYPE 3 //3 //4 #define RLEPSILON 0.1f #define RLTAU 0.12f int t; // current time step int T = NSTEPS; // number of time steps = number of interactions between agent and environment int n = NREPLICAS; // number of replicas int nA = NACTIONS; // number of actions int nS = NSTATES; // number of states int env = ENVTYPE; // type of environment: // env = 0 -> se (stationary environment) float sePa[NACTIONS]; // se: probabilities of rewards for each action int ceState; // ce: current state of commutative environment float cePa[NSTATES][NACTIONS]; // ce: probabilities of reward for each action for each state of environment float cePs[NSTATES][NSTATES]; // ce: probabilities of transition from one state to another int agt; int action=0; // current action = {0, ... ,(nA-1)} int response; // current response of environment = {0;1}/{-1;+1} int paction; // action of perfect agent float e = RLEPSILON; // epsilon value (epsilon-greedy RL) float tau = RLTAU; // tau value (softmax action selection) int k[NACTIONS]; // number of realizations for each action int r[NACTIONS]; // total reward for each action float Q[NACTIONS]; // estimated action value Q[i]=r[i]/k[i] for each action; float p[NACTIONS]; // selection probability for each action (softmax); float sumR; // total reward over time sumR(t) float avrR; // average reward over time avrR(t) = sumR(t)/t float _sumR[NSTEPS][NREPLICAS]; float _avrR[NSTEPS][NREPLICAS]; float sumRm[NSTEPS]; // mean values of sumR(t) float sumRv[NSTEPS]; // corresponding variances float avrRm[NSTEPS]; // mean values of avrR(t) float avrRv[NSTEPS]; // corresponding variances char * par_file_name = "d:\\temp2\\lab3.parameters.dat"; FILE * par_file; char * RA_res_file_name = "d:\\temp2\\lab3.RA.results.dat"; FILE * RA_res_file; char * PA_res_file_name = "d:\\temp2\\lab3.PA.results.dat"; FILE * PA_res_file; char * RL_res_file_name = "d:\\temp2\\lab3.RL.results.dat"; FILE * RL_res_file; int uRand (int x) { int _rnum = (int) ((float)x * (float)rand() / (float)RAND_MAX); return _rnum; } int dRand (float*...
Антиботан аватар за замовчуванням

03.12.2015 14:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини